package com.dys.dao;

import com.dys.entity.Student;

import java.util.List;

/**
 * @className: com.dys.dao.StudentDao
 * @description: 与数据库交互DAO
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/10/09 22:11
 */
public interface StudentDao {

    /**
     * 保存学生信息
     *
     * @param student 学生信息
     * @return 成功返回1 失败返回0
     */
    int saveStudentInfo(Student student);

    /**
     * 根据学生姓名和手机号查询学生信息
     *
     * @param studentName 学生姓名
     * @param phone       学生电话
     * @return 学生列表
     */
    public abstract List<Student> listStudentInfoByNameAndPhone(String studentName, String phone);

    /**
     * 查询学生总数
     *
     * @return 学生总人数
     */
    int selectStudentCount();

    /**
     * 分页查询学生信息
     *
     * @param pageNo      当前页
     * @param pageSize    页大小
     * @param studentName 学生姓名
     * @param phone       学生电话
     * @return 学生信息
     */
    List<Student> selectStudentInfoByPage(int pageNo, int pageSize, String studentName, String phone);

    /**
     * 根据sid删除学生信息
     *
     * @param sid 学生编号
     * @return 受影响行数
     */
    int deleteOneStudentInfo(int sid);

    /**
     * 根据sid查询单个学生信息
     *
     * @param sid
     * @return 单个学生信息
     */
    Student selectOneStudentInfo(int sid);

    /**
     * 修改学生信息
     *
     * @param student 学生对象
     * @return 受影响行数
     */
    int updateStudentInfo(Student student);
}
